import { createStore } from 'vuex'

export default createStore({
  /**
   *  state就是Vuex中的公共的状态, 可以将state看作是全局唯一的共享数据仓库。
   *  类似Vue中的data。（state是所以组件共享的；data是某个组件独有的。）
   */
  state: {
    number: 10
  },
  /**
   * state 的计算属性，类似Vue中的computed 计算属性。
   */
  getters: {
    numberSquare(state){
      return state.number * state.number
    }
  },
  /**
   * 声明方法，用于修改state。类似Vue中的methods方法。（只能修改同步数据）。
   */
  mutations: {
  },
  /**
   * 声明方法，用于修改state。类似Vue中的methods方法。（可以修改异步数据）。
   * 比如调用api接口都在这里完成。
   */
  actions: {
  },
  /**
   * store的子模块，只在开发大型项目的时候会用的上。
   */
  modules: {
  }
})
